1. Field of the Invention
The present invention generally relates to test circuits and test methods, and particularly relates to a test circuit and a test method for testing an integrated circuit with a memory.
2. Description of Related Art
A test technique that tests a memory or a circuit on a path passing through a memory in an integrated circuit using scan path is now widely used, as implemented into automatic test pattern generation program on a computer. However, this test technique assumes the use of static random access memory (SRAM) which does not require refreshing. It also assumes that reading is always available as long as read setting is set after writing.
A conventional memory test technique using scan path is described hereinafter with reference to FIG. 12. FIG. 12 is a set waveform used in a memory test of a related art. In FIG. 12, “SMC” indicates a value of a signal SMC for selecting whether to set a scan path to shift operation or normal operation without shifting, “SCANIN” indicates a value of scan input, and “SCANOUT” indicates a value of scan output.
In this example, the value of SMC is such that “1” represents “shift mode” and “0” represents “normal mode” when no shift occurs. The state different from the shift mode is “capture mode”. Time t1 indicates when the mode changes from the shift mode to the capture mode. Time t2 indicates when the mode changes back from the capture mode to the shift mode. Time t3 indicates when the mode changes from the shift mode to the capture mode again after t2. Time t4 indicates when the mode changes back from the capture mode to the shift mode again after t3.
In FIG. 12, “X” represents “don't care” which means any value may be set to an input and an output is not checked. “Write setting” represents setting of a scan input value for write setting on a memory included in a circuit to be tested. Specifically, the value of a scan input which is input by the Write setting reaches a flip-flop for setting the memory at Time t1 and memory write setting is made at that time.
“Read setting” represents setting of a scan input value for read setting on a memory included in a circuit to be tested. Specifically, the value of a scan input which is input by the Read setting reaches a flip-flop for setting the memory at Time t3 and memory read setting is made at that time. “Read value output” represents output of a read value designated by the memory read setting made by the Read setting. A series of test is thereby performed.
FIG. 12 shows the case of performing reading after one-time scan shift following write setting by way of example. There is a case of performing one test target after three or more times of scan shift, in which case a retention period that a dynamic random access memory (DRAM) holds a value becomes longer, thus deteriorating the conditions under a conventional technique. FIG. 12 illustrates an optimal case that tests one test target after a plurality of times of scan shift by a conventional technique.
When performing write delay test on a memory or a circuit on a path passing through a memory using scan path, the process performs immediately preceding write setting in a cycle immediately before t1, which is normally one cycle before t1, and performs write setting at t1. When performing read delay test, the process performs immediately preceding read setting in a cycle immediately before t3, which is normally one cycle before t3, and performs read setting at t3. The Write setting and Read setting represent a series of settings on writing and a series of settings on reading, respectively.
The application of the above memory test technique to DRAM raises the following problems. First problem is that, if a time period from the write setting to the read setting is longer than a data retention period or a refresh period of DRAM, it is unable to implement testing.
Another problem is an increase in load on automatic test pattern generation. Generally, the automatic test pattern generation determines a value for writing to DRAM in a series of write operation and a value for reading from DRAM in a series of read operation. No problem occurs if a refresh period of DRAM is longer than a time period for one-time shift operation of scan path, and a test can be performed by one-time write operation and one-time read operation.
However, there are cases where a plurality of write operation is needed for one test. One example is when generating a test pattern for detecting a circuit error relating to an address. In such a case, it is necessary to write different values to a write and read target address which is selected when no error exists in a circuit and to a write and read target address which is selected when an error relating to an address exists in a circuit. Then, a test is performed by reading the value that is written to the write and read target address which is selected when no error exists in a circuit. This process requires a plurality of times of write operation settings.
In this case, scan shift is performed a plurality of times before the value is read during the first write setting in a plurality of times of write settings. Therefore, it is necessary in some cases to replace a part of the second and subsequent write settings determined by the automatic test pattern generation with refresh setting and determine the set value of the test pattern again. It thus increases load on the automatic test pattern generation with regard to refresh operation,
Further, Japanese Unexamined Patent Publications Nos. 11-153650 and 2000-163995 disclose the test circuit and test method for DRAM using scan path. However, these patent documents only describe the method and circuit for performing write setting or read wetting on DRAM and do not describe a test method and test circuit which takes the restriction of a data retention period of DRAM into account.
As described in the foregoing, the present invention has recognized that conventional test methods have a problem that it is unable to implement testing when a time period from write setting to read setting is longer than a data retention period of DRAM or a refresh period.